\hypertarget{class_selector_controller}{
\section{SelectorController$<$ Item $>$ Class Template Reference}
\label{class_selector_controller}\index{SelectorController@{SelectorController}}
}


{\ttfamily \#include $<$SelectorController.hpp$>$}

Inheritance diagram for SelectorController$<$ Item $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{class_selector_controller}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_selector_controller_a347994d2b0e37062a80a3e046442c380}{
typedef std::pair$<$ std::string, Item $>$ {\bfseries NameItemPairType}}
\label{class_selector_controller_a347994d2b0e37062a80a3e046442c380}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_selector_controller_a0cc0adb466aca722e032a2e0c26cc2ab}{SelectorController} (\hyperlink{class_human_digital_input}{HumanDigitalInput} \&upInput, \hyperlink{class_human_digital_input}{HumanDigitalInput} \&downInput, \hyperlink{class_value_output}{ValueOutput}$<$ std::string $>$ \&valueOutput)
\item 
\hyperlink{class_selector_controller_ae0750ae55c7a21d1d4216edb55b5394f}{SelectorController} (DriverStationEnhancedIO \&driverStationIo, UINT32 buttonUp, UINT32 buttonDown, \hyperlink{class_value_output}{ValueOutput}$<$ std::string $>$ \&valueOutput)
\item 
\hypertarget{class_selector_controller_ab233306065060421b02f500f0730cf13}{
void {\bfseries AddItem} (std::string name, Item item)}
\label{class_selector_controller_ab233306065060421b02f500f0730cf13}

\item 
\hypertarget{class_selector_controller_a7f19b56d6206ad2093ab76eea8e5c9e5}{
Item {\bfseries GetSelectedItem} ()}
\label{class_selector_controller_a7f19b56d6206ad2093ab76eea8e5c9e5}

\item 
\hypertarget{class_selector_controller_a02cfac31afd320572374688fe2955c59}{
const std::vector$<$ NameItemPairType $>$ \& {\bfseries GetNameItemPairs} () const }
\label{class_selector_controller_a02cfac31afd320572374688fe2955c59}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{class_selector_controller_a053f47a303da4becb263bdb78f24965c}{HandleActivate} ()
\item 
virtual void \hyperlink{class_selector_controller_acdcce842fdcb5b2d0e2cc234de3d2772}{HandleDeactivate} ()
\item 
virtual void \hyperlink{class_selector_controller_a9e49fc8782d4ff0437e323125ebaae02}{HandlePeriodic} ()
\item 
\hypertarget{class_selector_controller_ad76d413dacfd993aef6fe7f17780ee8b}{
virtual void {\bfseries HandleItemAdded} (Item item)}
\label{class_selector_controller_ad76d413dacfd993aef6fe7f17780ee8b}

\item 
\hypertarget{class_selector_controller_ad34a5d16c76fab5c99f87b27c658d1ad}{
virtual void {\bfseries HandleItemSelectedImpl} (Item item)}
\label{class_selector_controller_ad34a5d16c76fab5c99f87b27c658d1ad}

\item 
\hypertarget{class_selector_controller_a40aa854a6276bfa16f62bfe16913220e}{
virtual void {\bfseries HandleItemUnselectedImpl} (Item item)}
\label{class_selector_controller_a40aa854a6276bfa16f62bfe16913220e}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Item$>$class SelectorController$<$ Item $>$}

The \hyperlink{class_selector_controller}{SelectorController} template class selects from a list items based on some input.

Testing shows this class mostly works.


\begin{DoxyTemplParams}{Template Parameters}
{\em ItemType} & Type of selectable. \\
\hline
\end{DoxyTemplParams}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_selector_controller_a0cc0adb466aca722e032a2e0c26cc2ab}{
\index{SelectorController@{SelectorController}!SelectorController@{SelectorController}}
\index{SelectorController@{SelectorController}!SelectorController@{SelectorController}}
\subsubsection[{SelectorController}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ {\bf SelectorController}$<$ Item $>$::{\bf SelectorController} (
\begin{DoxyParamCaption}
\item[{{\bf HumanDigitalInput} \&}]{upInput, }
\item[{{\bf HumanDigitalInput} \&}]{downInput, }
\item[{{\bf ValueOutput}$<$ std::string $>$ \&}]{valueOutput}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_selector_controller_a0cc0adb466aca722e032a2e0c26cc2ab}
Constructor for \hyperlink{class_selector_controller}{SelectorController}.


\begin{DoxyParams}{Parameters}
{\em upInput} & Input for selecting up the list. User is still reposible for deletion of parameter. \\
\hline
{\em downInput} & Input for selecting down the list. User is still reposible for deletion of parameter. \\
\hline
\end{DoxyParams}
\hypertarget{class_selector_controller_ae0750ae55c7a21d1d4216edb55b5394f}{
\index{SelectorController@{SelectorController}!SelectorController@{SelectorController}}
\index{SelectorController@{SelectorController}!SelectorController@{SelectorController}}
\subsubsection[{SelectorController}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ {\bf SelectorController}$<$ Item $>$::{\bf SelectorController} (
\begin{DoxyParamCaption}
\item[{DriverStationEnhancedIO \&}]{driverStationIo, }
\item[{UINT32}]{buttonUp, }
\item[{UINT32}]{buttonDown, }
\item[{{\bf ValueOutput}$<$ std::string $>$ \&}]{valueOutput}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_selector_controller_ae0750ae55c7a21d1d4216edb55b5394f}
Constructor for \hyperlink{class_selector_controller}{SelectorController}.


\begin{DoxyParams}{Parameters}
{\em driverStationIo} & Driver station IO. User is still reposible for deletion of parameter. \\
\hline
{\em buttonUp} & Channel number for button for selecting up the list. \\
\hline
{\em buttonDown} & Channel number for button for selecting down the list. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{class_selector_controller_a053f47a303da4becb263bdb78f24965c}{
\index{SelectorController@{SelectorController}!HandleActivate@{HandleActivate}}
\index{HandleActivate@{HandleActivate}!SelectorController@{SelectorController}}
\subsubsection[{HandleActivate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ virtual void {\bf SelectorController}$<$ Item $>$::HandleActivate (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, protected, virtual\mbox{]}}}}
\label{class_selector_controller_a053f47a303da4becb263bdb78f24965c}
This function should be overridden to activate the controller. 

Reimplemented from \hyperlink{class_robot_controller_aab89514f2e703d76074c4f5dcea1bf65}{RobotController}.

\hypertarget{class_selector_controller_acdcce842fdcb5b2d0e2cc234de3d2772}{
\index{SelectorController@{SelectorController}!HandleDeactivate@{HandleDeactivate}}
\index{HandleDeactivate@{HandleDeactivate}!SelectorController@{SelectorController}}
\subsubsection[{HandleDeactivate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ virtual void {\bf SelectorController}$<$ Item $>$::HandleDeactivate (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, protected, virtual\mbox{]}}}}
\label{class_selector_controller_acdcce842fdcb5b2d0e2cc234de3d2772}
This function should be overridden to deactivate the controller. 

Reimplemented from \hyperlink{class_robot_controller_aabb392f33363102fb82005e373450bc7}{RobotController}.

\hypertarget{class_selector_controller_a9e49fc8782d4ff0437e323125ebaae02}{
\index{SelectorController@{SelectorController}!HandlePeriodic@{HandlePeriodic}}
\index{HandlePeriodic@{HandlePeriodic}!SelectorController@{SelectorController}}
\subsubsection[{HandlePeriodic}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ virtual void {\bf SelectorController}$<$ Item $>$::HandlePeriodic (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, protected, virtual\mbox{]}}}}
\label{class_selector_controller_a9e49fc8782d4ff0437e323125ebaae02}
This function should be overridden to handle the periodic controller tasks. It will be called periodically when the this controller is active. 

Reimplemented from \hyperlink{class_robot_controller_af4db95564f7fd78241be8baff2296e26}{RobotController}.



The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
C:/Documents and Settings/Sam/My Documents/My Projects/Entech-\/Fpk/Entech-\/Fpk/SelectorController.hpp\end{DoxyCompactItemize}
